layui.use(['table','layer'],function(){
    var layer = parent.layer === undefined ? layui.layer : top.layer,
        $ = layui.jquery,
        table = layui.table;

    // 表格
    var tableIns = table.render({
        id: "saleChanceTable",
        elem: '#saleChanceList'
        ,height: "full-125"
        ,url: ctx+'/sale_chance/list' //数据接口
        ,page: true //开启分页
        ,toolbar: "#toolbarDemo"
        ,limits: [10,15,20]
        ,cols: [[ //表头
            {type: "checkbox", fixed: 'center'}
            ,{field: 'id', title: 'ID',  sort: true, fixed: 'left'}
            ,{field: 'chanceSource', title: '机会来源', }
            ,{field: 'customerName', title: '客户名称', sort: true}
            ,{field: 'cgjl', title: '成功几率', }
            ,{field: 'overview', title: '概要', }
            ,{field: 'linkMan', title: '联系人',  sort: true}
            ,{field: 'linkPhone', title: '联系电话',  sort: true}
            ,{field: 'description', title: '描述', }
            ,{field: 'createMan', title: '创建人',  sort: true}
            ,{field: 'trueName', title: '分配人',  sort: true}
            ,{field: 'assignTime', title: '分配时间',  sort: true}
            ,{field: 'state', title: '分配状态',  sort: true, templet: function (d) {
                    return formateState(d.state);
                }}
            ,{field: 'devResult', title: '开发状态', sort: true, templet: function (d) {
                    return formateDevResult(d.devResult);
                }}
            ,{field: 'createDate', title: '创建时间', sort: true}
            ,{fixed: 'right', title:'操作', toolbar: '#saleChanceListBar', width:150}
        ]]
    });

    $("a.search_btn").click(function () {
        //这里以搜索为例
        tableIns.reload({
            where: { //设定异步数据接口的额外参数，任意设
                customerName: $("[name='customerName']").val()
                ,linkMan: $("[name='createMan']").val()
                ,state: $("[name='state']").val()
            }
            ,page: {
                curr: 1 //重新从第 1 页开始
            }
        });
    })


    // 头部触发事件
    table.on('toolbar(saleChances)', function(obj){
        var checkStatus = table.checkStatus(obj.config.id);
        switch(obj.event){
            case 'add':
                localStorage.clear()
                openSaleChanceDialog();
                break;
            case 'del':
                // 批量删除
                let ids = "ids=";
                for (let i=0;i<checkStatus.data.length;i++){
                    if (i+1<checkStatus.data.length)
                        ids=ids+checkStatus.data[i].id+"&ids=";
                    else{
                        ids=ids+checkStatus.data[i].id
                    }
                }
                batchDelete(ids);
                break;
        };
    });

    // 一行记录工具触发事件
    table.on('tool(saleChances)', function(obj){
        console.log(obj, 'opbj')
        switch(obj.event){
            case 'edit':
                openSaleChanceDialog(obj.data);
                break;
            case 'delete':
                // 单个删除
                console.log(obj,"单个删除")
                batchDelete("ids="+obj.data.id);
                break;
        };
    });

    // 批量删除
    function batchDelete(ids) {
        if (typeof(ids)!== "number" && !ids.split('=')[1]) {
            return
        }
        console.log(ids, '真的删除行么ids')
        layer.confirm('真的删除行么', function(index){
            layer.close(index);
            //向服务端发送删除指令
            $.ajax({
                type: 'post',
                url:ctx + "/sale_chance/delete",
                data: ids,
                success: (data)=> {
                    if (data.code===200){
                        layer.msg(data.msg, {icon:1});
                        tableIns.reload(
                            {
                                page: {
                                    curr: 1 //重新从第 1 页开始
                                }
                            }
                        );
                    }else{
                        layer.msg(data.msg, {icon:2});
                    }

                },
            });
        });

    }

});

/**
 * 格式化分配状态
 * 0-未分配
 * 1-已分配
 * @param d
 */
function formateState(state) {
    if (state===0){
        return "<div style='color:yellow'>未分配</div>";
    }else if (state===1){
        return "<div style='color:green'>已分配</div>";
    }else{
        return "<div style='color:red'>未知</div>";
    }
}

/**
 * 格式化开发状态
 * 0-未开发
 * 1-开发中
 * 2-开发成功
 * 3-开发失败
 * @param devResult
 * @returns {string}
 */
function formateDevResult(devResult) {
    if (devResult===0){
        return "<div style='color:yellow'>未开发</div>";
    }else if (devResult===1){
        return "<div style='color:orange'>开发中</div>";
    }else if(devResult===2){
        return "<div style='color:green'>开发成功</div>";
    }else if(devResult===2){
        return "<div style='color:red'>开发失败</div>";
    }else {
        return "<div style='color:blue'>未知</div>";
    }
}

/**
 * 打开添加/修改营销机会数据的窗口
 *      如果营销机会ID为空，则为添加操作
 *      如果营销机会ID不为空，则为修改操作
 */
function openSaleChanceDialog(rowData) {
    console.log(rowData,' rowdata')
    // 弹出层的标题
    let title = "";
    let url = ctx + "/sale_chance/toSaleChancePage";
    // 判断营销机会ID是否为空
    if (rowData) {
        // 更新操作
        title  = "<h3>营销机会管理 - 更新营销机会</h3>";
        // 请求地址传递营销机会的ID
        localStorage.setItem("temp",JSON.stringify(rowData));
    } else {
        title = '<h3>营销机会管理 - 添加营销机会</h3>';
    }

    // iframe层
    layui.layer.open({
        // 类型
        type: 2,
        // 标题
        title: title,
        // 宽高
        area: ['500px', '620px'],
        // url地址
        content: url,
        // 可以最大化与最小化
        maxmin:true
    });
}


